/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entrada;

import java.sql.Date;
import java.util.List;

/**
 *
 * @author Alberto
 */
public class CadastroEntrada {
    
    RepositorioEntrada objRepositorioEntrada = null;
    
    /**
     * Método construtor
     * @param objRepositorioEntrada 
     */
    public CadastroEntrada(RepositorioEntrada objRepositorioEntrada) {
        this.objRepositorioEntrada = objRepositorioEntrada;
    }
    
    /**
     * Método que ira cadastrar a entrada de materiais na base
     * 
     * @param objEntrada
     * @return int idEntrada
     * @throws Exception 
     */
    public int inserirEntrada(Entrada objEntrada)throws Exception{
        return this.objRepositorioEntrada.inserirEntrada(objEntrada);
    }
    
    /**
     * Método que ira cancelar a entrada de materiais na base
     * 
     * @param objEntrada
     * @return int idEntrada
     * @throws Exception 
     */
    public int cancelarEntrada(Entrada objEntrada) throws Exception{
        return this.objRepositorioEntrada.cancelarEntrada(objEntrada);
    }
    
    
    /**
     * List<Entrada>
     * 
     * @return 
     */
    public List<Entrada> listarEntradas() throws Exception{
        return this.objRepositorioEntrada.listarEntradas();
    }
    
    /**
     * Método que ira buscar a entrada na base pelo seu Identificador
     * 
     * @param idEntrada
     * @return Entrada
     * @throws Exception 
     */
    public Entrada procurarEntrada(int idEntrada)throws Exception{
        return this.objRepositorioEntrada.procurarEntrada(idEntrada);
    }
    
    /**
     * Metodo que ira listar os Categorias
     *
     * @return Collection
     */
    public List<Entrada> listarPorFornecedorPorFuncionarioPorData(int idFornecedor, int idFuncionario, Date dataInicial, Date dataFinal) throws Exception {
        return this.objRepositorioEntrada.listarPorFornecedorPorFuncionarioPorData(idFornecedor, idFuncionario, dataInicial, dataFinal);
    }
}
